With the increasing use of the Internet, cellular telephones, and other mobile communications devices, the need for interconnectivity and interoperability of these devices has also increased. As a result of this growth, problems have arisen related to limited bandwidth as well as interconnectivity issues between “wired” and “unwired” devices. Solutions to these problems have included the development of the Universal Serial Bus standard, developed by the USB Promoter group in 1995, and the Bluetooth™ protocol (Bluetooth is a Trademark owned by Bluetooth SIG, Inc.).
The Universal Serial Bus (USB) specification is a standardized peripheral connection developed by computer and telecommunication industry members for attaching peripherals to computers. USB makes plugging in peripheral devices easier with plug and play. It is nearly 100 times faster than the original serial port it was designed to replace, and it supports multiple device connectivity.
USB allows expandability of a PC's capabilities via an external port. Since USB supports multiple peripheral devices simultaneously, it allows users to run numerous devices such as printers, scanners, digital cameras and speakers from a single PC. USB also allows for automatic device detection and installation. USB's quick proliferation as the replacement for the serial port and other PC ports for I/O devices such as digital joysticks, phones, scanners and digital cameras has accelerated the production and availability of such devices. In addition, virtually every new PC today has one or more USB ports, quickly moving the installed base of USB-capable PCs to the range of hundreds of millions.
Data is exchanged between the host PC and the peripheral through a USB hub using data transfer types such as control, bulk, interrupt, and isochronous. Data transfers can be either unidirectional or bi-directional. Control transfers are used to configure a peripheral device to the host when the device is first attached to the USB network. Bulk transfers are used to move large amounts of data to peripherals, such as printers and scanners. Interrupt data transfers are used when a peripheral device specifies and controls the rate at which the data is moved over the network. Isochronous transfers are used to move data such as voice, audio, and video at real-time speeds.
The Bluetooth™ (BT) protocol has resulted from the National Telecommunications Act opening new public access to the ultra high frequency (UHF) and very high frequency (VHF) bands. As a direct consequence, wireless local area networking is rapidly evolving as the communications standard for small and mobile corporations and other organizations. An important aspect of these new wireless networks is the integration of household (and business office) appliances, laptop computers, and personal communications service (PCS) devices. This technology, called BT, seamlessly connects each intelligent appliance in a household or an office within a “piconet” (implying a very small) wireless network.
BT is an embedded, low-power, short-range, radio-frequency (RF) technology, although it can also be IR media-based with moderate bandwidth. BT is particularly attractive for exchanging data between personal devices such as cellular phones, radios, pagers, personal digital assistants, computers, video and still cameras, audio players, and local area networks (LANs).
With an operating range of 10 meters or less, the reach of BT exceeds the current range of IR, but falls far short of other types of wireless networks. BT is implemented at 2.4 GHz in the Industrial, Scientific, and Medical (ISM) band.
The BT architecture integrates a combination of hardware and software into the networking device. The hardware is an embeddable module, or a module residing on a card, which interfaces with the host device. It interfaces on one side with the host and on the other side with another BT device via its RF or IR transceiver. On the host side, there are four currently identified interfaces: the universal serial bus (USB), the PC card (or PCMCIA), and two serial interfaces, UART and RS232. All of these have established standards that define the physical logical interaction. However, the higher level interaction between the BT device and the host is defined in unique BT protocols and profiles.
A BT profile describes how the technology is used (i.e. how different parts of the specification can be used to fulfill a desired function for a BT device). A profile can be described as a vertical slice through the protocol stack. It defines options in each protocol that are mandatory for the profile. It also defines parameter ranges for each protocol. The profile concept is used to decrease the risk of interoperability problems between different manufacturers' products. These profiles do not normally define any additions to the BT specification, which is why new profiles can be added where desired. The underlying BT technology is the same, only the specific way that it is used is defined and clarified.
There are 13 “profiles” described in version 1.1 of the BT specification. These profiles are general behaviors through which BT units communicate with other units. The 13 original profiles constitute the basis for the user models and their profiles. The profiles also provide the foundation for future user models and profiles.
Referring to FIG. 1, the profiles include the Generic Access Profile (GAP) 110, which defines how two Bluetooth units discover and establish a connection with each other. GAP ensures that any two Bluetooth units, regardless of manufacture and application, can exchange information via BT in order to discover what type of applications the units support. The Service Discovery Application Profile (SDAP) 115 defines the investigation of services available to a BT unit. This application interfaces the Service Discovery Protocol (SDP) that sends and receives service inquiries to and from other Bluetooth units. The SDAP 115 is dependent on the GAP 110, i.e. SDAP re-uses parts of the GAP.
The Cordless Telephony Profile 120 defines how BT can be used as a wireless phone. It describes how a BT adapted cellular phone should switch to BT wireless phone-function when it comes within reach of a BT base station. The Intercom Profile 125 connects with the cordless telephony profile 120. It defines how two BT equipped cellular phones in the same network should be able to communicate directly with each other, without using the public telephone network.
The Serial Port Profile 130 defines how to set-up virtual serial ports on two devices and connect these with BT. The Headset Profile 135 defines how a BT-headset should communicate with headsets or computers. The Dial-up Networking (DUN) Profile 140 defines how a modem-connection over the public telephone network can be linked to a BT equipped terminal, such as a laptop, BT equipped modem or BT equipped cellular phone. The Fax Profile 145 is similar to the Dial-up Networking Profile 140, except that it interfaces a fax. The LAN Access Profile 150 defines interconnections between BT equipped terminals and LANs (and on to Internet).
The Generic Object Exchange Profile (GOEP) 155 defines the set of protocols and procedures to be used by applications handling object exchanges. Several usage models are based on this profile, e.g. File Transfer and Synchronization. The Object Exchange Protocol (OBEX)-standard is used.
The Object Push Profile 160 is used in conjunction with the Generic Object Exchange Profile 155 to send and receive small objects. The File Transfer Profile 165 is used in conjunction with the Generic Object Exchange Profile 155 to transfer files between two BT units. The Synchronization Profile 170 is used in conjunction with the Generic Object Exchange Profile 155 to enable synchronization of calendar and address information between computers.
The Symbian operating system (OS) is an open, standard operating system licensed by mobile phone manufacturers. It is designed for the specific requirements of data-enabled 2 G, 2.5 G and 3 G mobile phones. Symbian OS includes a multi-tasking kernel, integrated telephony support, communications protocols, data management, advanced graphics support, a low-level graphical user interface framework and a variety of application engines.
Symbian OS is specifically designed for portable, battery-powered mobile phones. Some of the features that make Symbian OS ideal for developing communications software include a flexible client-server based architecture and programming system to support compact but powerful software on wireless information devices, instant access to user data using an effective multi-tasking kernel at the lowest-level, and a very easy user interface framework at the highest level and adaptability to different device types and different underlying communication technology.
Symbian OS provides a core of application programming interfaces (APIs) that are common to all Symbian OS phones. Components of Symbian OS include a suite of application engines, OBEX for exchanging objects such as appointments and business cards; integrated APIs for data management, text, clipboard and graphics; communication protocols including wide-area networking stacks including TCP/IP and WAP, personal area networking (PAN) support including infrared (IrDA), Bluetooth and USB; data synchronization including over-the-air (OTA) synchronization support using Synchronization Mark-up Language (SyncML); PC-based synchronization over serial, Bluetooth, Infrared and USB; a PC Connectivity framework providing the ability to transfer files and synchronize personal information management (PIM) data.
The BT profiles were the initial drivers for Symbian OS BT implementation. In the Symbian OS BT architecture, core stack functionality is implemented by two components, a Host Controller Interface (HCI.DLL) and the Bluetooth protocol module (BT.PRT). The BT protocol module encapsulates the BT Logical Link Control and Adaptation Layer Protocol (L2CAP) and RFComm layers. The RFCOMM protocol provides emulation of serial ports over the L2CAP protocol. As a Symbian OS protocol module, it provides a sockets API to these protocols. BT.PRT furthermore spawns distinct BT Manager and Service Discovery Protocol (SDP) server threads. The SDP server handles SDP queries and responses. Serial port emulation is supported by the BT comm server module (BTCOMM.CSY) which provides a number of virtual serial ports for different legacy services running over RFCOMM socket functionality.
Within the foregoing innovations, it can be noted that each transport medium has its own application implementation. Thus, the system is not well optimized. The USB acts as a serial bus and does not define any application profiles.